/* 测试循环并通过循环来寻找质数 */

// 声明一个变量，表示已经找到多少个质数
let count = 0 ;
// 声明一个变量，用来记录自然数
let natural = 2 ;

let array = [] ; // 声明一个数组

// 若 count 小于 100 则进入循环继续寻找质数
while( count < 100 ) { // 在循环内部需要检查 某个自然数是否是质数

	// 1、首先假设 natural 是个质数
	let isPrime = true ;

	// 使用 for 循环获取 [ 2 , natural ) 之间的自然数用作 除数
	for( let x = 2 ; x < natural ; x++ ) { // 暂且不考虑性能问题
		// 使用 natural 作为被除数 去 除以 x 求模
		if( natural % x === 0 ) {
			// 说明 natural 是可以被 当前的 x 值 所整除的，所以它不是质数
			// 2、推翻假设
			isPrime = false ;
		}
	}

	// 3、如果是质数
	if( isPrime ){
		count++ ; // 每找到一个质数 count 就增加一个
		array.push( natural ) ; // 将得到的质数放入到数组中
	}

	// 4、让自然数不断增长起来
	natural++ ;
}

console.log( array );

let str = '' ; // 声明一个字符串变量

// 遍历数组
// 使用 i 变量来充当数组下标(索引)
for( let i = 0 ; i < array.length ; i++ ){
	let prime = array[ i ];

	str = str + prime + '\t' ; // \t 是转义字符，表示制表符
	// 如果 ( i + 1 ) 除以 10 结果为 零
	if( ( i + 1 ) % 10 == 0 ) {
		str = str + '\n' ; // \n 是转义字符，表示换行
	}
}


console.log( str );